package org.hxyjs.entity;

import java.util.ArrayList;
import java.util.List;

public class SalesagentExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    private Integer limit;

    private Integer offset;

    public SalesagentExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    public void setLimit(Integer limit) {
        this.limit = limit;
    }

    public Integer getLimit() {
        return limit;
    }

    public void setOffset(Integer offset) {
        this.offset = offset;
    }

    public Integer getOffset() {
        return offset;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andSanoIsNull() {
            addCriterion("sano is null");
            return (Criteria) this;
        }

        public Criteria andSanoIsNotNull() {
            addCriterion("sano is not null");
            return (Criteria) this;
        }

        public Criteria andSanoEqualTo(String value) {
            addCriterion("sano =", value, "sano");
            return (Criteria) this;
        }

        public Criteria andSanoNotEqualTo(String value) {
            addCriterion("sano <>", value, "sano");
            return (Criteria) this;
        }

        public Criteria andSanoGreaterThan(String value) {
            addCriterion("sano >", value, "sano");
            return (Criteria) this;
        }

        public Criteria andSanoGreaterThanOrEqualTo(String value) {
            addCriterion("sano >=", value, "sano");
            return (Criteria) this;
        }

        public Criteria andSanoLessThan(String value) {
            addCriterion("sano <", value, "sano");
            return (Criteria) this;
        }

        public Criteria andSanoLessThanOrEqualTo(String value) {
            addCriterion("sano <=", value, "sano");
            return (Criteria) this;
        }

        public Criteria andSanoLike(String value) {
            addCriterion("sano like", value, "sano");
            return (Criteria) this;
        }

        public Criteria andSanoNotLike(String value) {
            addCriterion("sano not like", value, "sano");
            return (Criteria) this;
        }

        public Criteria andSanoIn(List<String> values) {
            addCriterion("sano in", values, "sano");
            return (Criteria) this;
        }

        public Criteria andSanoNotIn(List<String> values) {
            addCriterion("sano not in", values, "sano");
            return (Criteria) this;
        }

        public Criteria andSanoBetween(String value1, String value2) {
            addCriterion("sano between", value1, value2, "sano");
            return (Criteria) this;
        }

        public Criteria andSanoNotBetween(String value1, String value2) {
            addCriterion("sano not between", value1, value2, "sano");
            return (Criteria) this;
        }

        public Criteria andPrnoIsNull() {
            addCriterion("prno is null");
            return (Criteria) this;
        }

        public Criteria andPrnoIsNotNull() {
            addCriterion("prno is not null");
            return (Criteria) this;
        }

        public Criteria andPrnoEqualTo(String value) {
            addCriterion("prno =", value, "prno");
            return (Criteria) this;
        }

        public Criteria andPrnoNotEqualTo(String value) {
            addCriterion("prno <>", value, "prno");
            return (Criteria) this;
        }

        public Criteria andPrnoGreaterThan(String value) {
            addCriterion("prno >", value, "prno");
            return (Criteria) this;
        }

        public Criteria andPrnoGreaterThanOrEqualTo(String value) {
            addCriterion("prno >=", value, "prno");
            return (Criteria) this;
        }

        public Criteria andPrnoLessThan(String value) {
            addCriterion("prno <", value, "prno");
            return (Criteria) this;
        }

        public Criteria andPrnoLessThanOrEqualTo(String value) {
            addCriterion("prno <=", value, "prno");
            return (Criteria) this;
        }

        public Criteria andPrnoLike(String value) {
            addCriterion("prno like", value, "prno");
            return (Criteria) this;
        }

        public Criteria andPrnoNotLike(String value) {
            addCriterion("prno not like", value, "prno");
            return (Criteria) this;
        }

        public Criteria andPrnoIn(List<String> values) {
            addCriterion("prno in", values, "prno");
            return (Criteria) this;
        }

        public Criteria andPrnoNotIn(List<String> values) {
            addCriterion("prno not in", values, "prno");
            return (Criteria) this;
        }

        public Criteria andPrnoBetween(String value1, String value2) {
            addCriterion("prno between", value1, value2, "prno");
            return (Criteria) this;
        }

        public Criteria andPrnoNotBetween(String value1, String value2) {
            addCriterion("prno not between", value1, value2, "prno");
            return (Criteria) this;
        }

        public Criteria andSaimgIsNull() {
            addCriterion("saImg is null");
            return (Criteria) this;
        }

        public Criteria andSaimgIsNotNull() {
            addCriterion("saImg is not null");
            return (Criteria) this;
        }

        public Criteria andSaimgEqualTo(String value) {
            addCriterion("saImg =", value, "saimg");
            return (Criteria) this;
        }

        public Criteria andSaimgNotEqualTo(String value) {
            addCriterion("saImg <>", value, "saimg");
            return (Criteria) this;
        }

        public Criteria andSaimgGreaterThan(String value) {
            addCriterion("saImg >", value, "saimg");
            return (Criteria) this;
        }

        public Criteria andSaimgGreaterThanOrEqualTo(String value) {
            addCriterion("saImg >=", value, "saimg");
            return (Criteria) this;
        }

        public Criteria andSaimgLessThan(String value) {
            addCriterion("saImg <", value, "saimg");
            return (Criteria) this;
        }

        public Criteria andSaimgLessThanOrEqualTo(String value) {
            addCriterion("saImg <=", value, "saimg");
            return (Criteria) this;
        }

        public Criteria andSaimgLike(String value) {
            addCriterion("saImg like", value, "saimg");
            return (Criteria) this;
        }

        public Criteria andSaimgNotLike(String value) {
            addCriterion("saImg not like", value, "saimg");
            return (Criteria) this;
        }

        public Criteria andSaimgIn(List<String> values) {
            addCriterion("saImg in", values, "saimg");
            return (Criteria) this;
        }

        public Criteria andSaimgNotIn(List<String> values) {
            addCriterion("saImg not in", values, "saimg");
            return (Criteria) this;
        }

        public Criteria andSaimgBetween(String value1, String value2) {
            addCriterion("saImg between", value1, value2, "saimg");
            return (Criteria) this;
        }

        public Criteria andSaimgNotBetween(String value1, String value2) {
            addCriterion("saImg not between", value1, value2, "saimg");
            return (Criteria) this;
        }

        public Criteria andSanameIsNull() {
            addCriterion("saName is null");
            return (Criteria) this;
        }

        public Criteria andSanameIsNotNull() {
            addCriterion("saName is not null");
            return (Criteria) this;
        }

        public Criteria andSanameEqualTo(String value) {
            addCriterion("saName =", value, "saname");
            return (Criteria) this;
        }

        public Criteria andSanameNotEqualTo(String value) {
            addCriterion("saName <>", value, "saname");
            return (Criteria) this;
        }

        public Criteria andSanameGreaterThan(String value) {
            addCriterion("saName >", value, "saname");
            return (Criteria) this;
        }

        public Criteria andSanameGreaterThanOrEqualTo(String value) {
            addCriterion("saName >=", value, "saname");
            return (Criteria) this;
        }

        public Criteria andSanameLessThan(String value) {
            addCriterion("saName <", value, "saname");
            return (Criteria) this;
        }

        public Criteria andSanameLessThanOrEqualTo(String value) {
            addCriterion("saName <=", value, "saname");
            return (Criteria) this;
        }

        public Criteria andSanameLike(String value) {
            addCriterion("saName like", value, "saname");
            return (Criteria) this;
        }

        public Criteria andSanameNotLike(String value) {
            addCriterion("saName not like", value, "saname");
            return (Criteria) this;
        }

        public Criteria andSanameIn(List<String> values) {
            addCriterion("saName in", values, "saname");
            return (Criteria) this;
        }

        public Criteria andSanameNotIn(List<String> values) {
            addCriterion("saName not in", values, "saname");
            return (Criteria) this;
        }

        public Criteria andSanameBetween(String value1, String value2) {
            addCriterion("saName between", value1, value2, "saname");
            return (Criteria) this;
        }

        public Criteria andSanameNotBetween(String value1, String value2) {
            addCriterion("saName not between", value1, value2, "saname");
            return (Criteria) this;
        }

        public Criteria andSasexIsNull() {
            addCriterion("saSex is null");
            return (Criteria) this;
        }

        public Criteria andSasexIsNotNull() {
            addCriterion("saSex is not null");
            return (Criteria) this;
        }

        public Criteria andSasexEqualTo(String value) {
            addCriterion("saSex =", value, "sasex");
            return (Criteria) this;
        }

        public Criteria andSasexNotEqualTo(String value) {
            addCriterion("saSex <>", value, "sasex");
            return (Criteria) this;
        }

        public Criteria andSasexGreaterThan(String value) {
            addCriterion("saSex >", value, "sasex");
            return (Criteria) this;
        }

        public Criteria andSasexGreaterThanOrEqualTo(String value) {
            addCriterion("saSex >=", value, "sasex");
            return (Criteria) this;
        }

        public Criteria andSasexLessThan(String value) {
            addCriterion("saSex <", value, "sasex");
            return (Criteria) this;
        }

        public Criteria andSasexLessThanOrEqualTo(String value) {
            addCriterion("saSex <=", value, "sasex");
            return (Criteria) this;
        }

        public Criteria andSasexLike(String value) {
            addCriterion("saSex like", value, "sasex");
            return (Criteria) this;
        }

        public Criteria andSasexNotLike(String value) {
            addCriterion("saSex not like", value, "sasex");
            return (Criteria) this;
        }

        public Criteria andSasexIn(List<String> values) {
            addCriterion("saSex in", values, "sasex");
            return (Criteria) this;
        }

        public Criteria andSasexNotIn(List<String> values) {
            addCriterion("saSex not in", values, "sasex");
            return (Criteria) this;
        }

        public Criteria andSasexBetween(String value1, String value2) {
            addCriterion("saSex between", value1, value2, "sasex");
            return (Criteria) this;
        }

        public Criteria andSasexNotBetween(String value1, String value2) {
            addCriterion("saSex not between", value1, value2, "sasex");
            return (Criteria) this;
        }

        public Criteria andSaageIsNull() {
            addCriterion("saAge is null");
            return (Criteria) this;
        }

        public Criteria andSaageIsNotNull() {
            addCriterion("saAge is not null");
            return (Criteria) this;
        }

        public Criteria andSaageEqualTo(String value) {
            addCriterion("saAge =", value, "saage");
            return (Criteria) this;
        }

        public Criteria andSaageNotEqualTo(String value) {
            addCriterion("saAge <>", value, "saage");
            return (Criteria) this;
        }

        public Criteria andSaageGreaterThan(String value) {
            addCriterion("saAge >", value, "saage");
            return (Criteria) this;
        }

        public Criteria andSaageGreaterThanOrEqualTo(String value) {
            addCriterion("saAge >=", value, "saage");
            return (Criteria) this;
        }

        public Criteria andSaageLessThan(String value) {
            addCriterion("saAge <", value, "saage");
            return (Criteria) this;
        }

        public Criteria andSaageLessThanOrEqualTo(String value) {
            addCriterion("saAge <=", value, "saage");
            return (Criteria) this;
        }

        public Criteria andSaageLike(String value) {
            addCriterion("saAge like", value, "saage");
            return (Criteria) this;
        }

        public Criteria andSaageNotLike(String value) {
            addCriterion("saAge not like", value, "saage");
            return (Criteria) this;
        }

        public Criteria andSaageIn(List<String> values) {
            addCriterion("saAge in", values, "saage");
            return (Criteria) this;
        }

        public Criteria andSaageNotIn(List<String> values) {
            addCriterion("saAge not in", values, "saage");
            return (Criteria) this;
        }

        public Criteria andSaageBetween(String value1, String value2) {
            addCriterion("saAge between", value1, value2, "saage");
            return (Criteria) this;
        }

        public Criteria andSaageNotBetween(String value1, String value2) {
            addCriterion("saAge not between", value1, value2, "saage");
            return (Criteria) this;
        }

        public Criteria andSaphoneIsNull() {
            addCriterion("saPhone is null");
            return (Criteria) this;
        }

        public Criteria andSaphoneIsNotNull() {
            addCriterion("saPhone is not null");
            return (Criteria) this;
        }

        public Criteria andSaphoneEqualTo(String value) {
            addCriterion("saPhone =", value, "saphone");
            return (Criteria) this;
        }

        public Criteria andSaphoneNotEqualTo(String value) {
            addCriterion("saPhone <>", value, "saphone");
            return (Criteria) this;
        }

        public Criteria andSaphoneGreaterThan(String value) {
            addCriterion("saPhone >", value, "saphone");
            return (Criteria) this;
        }

        public Criteria andSaphoneGreaterThanOrEqualTo(String value) {
            addCriterion("saPhone >=", value, "saphone");
            return (Criteria) this;
        }

        public Criteria andSaphoneLessThan(String value) {
            addCriterion("saPhone <", value, "saphone");
            return (Criteria) this;
        }

        public Criteria andSaphoneLessThanOrEqualTo(String value) {
            addCriterion("saPhone <=", value, "saphone");
            return (Criteria) this;
        }

        public Criteria andSaphoneLike(String value) {
            addCriterion("saPhone like", value, "saphone");
            return (Criteria) this;
        }

        public Criteria andSaphoneNotLike(String value) {
            addCriterion("saPhone not like", value, "saphone");
            return (Criteria) this;
        }

        public Criteria andSaphoneIn(List<String> values) {
            addCriterion("saPhone in", values, "saphone");
            return (Criteria) this;
        }

        public Criteria andSaphoneNotIn(List<String> values) {
            addCriterion("saPhone not in", values, "saphone");
            return (Criteria) this;
        }

        public Criteria andSaphoneBetween(String value1, String value2) {
            addCriterion("saPhone between", value1, value2, "saphone");
            return (Criteria) this;
        }

        public Criteria andSaphoneNotBetween(String value1, String value2) {
            addCriterion("saPhone not between", value1, value2, "saphone");
            return (Criteria) this;
        }

        public Criteria andSaidIsNull() {
            addCriterion("saId is null");
            return (Criteria) this;
        }

        public Criteria andSaidIsNotNull() {
            addCriterion("saId is not null");
            return (Criteria) this;
        }

        public Criteria andSaidEqualTo(String value) {
            addCriterion("saId =", value, "said");
            return (Criteria) this;
        }

        public Criteria andSaidNotEqualTo(String value) {
            addCriterion("saId <>", value, "said");
            return (Criteria) this;
        }

        public Criteria andSaidGreaterThan(String value) {
            addCriterion("saId >", value, "said");
            return (Criteria) this;
        }

        public Criteria andSaidGreaterThanOrEqualTo(String value) {
            addCriterion("saId >=", value, "said");
            return (Criteria) this;
        }

        public Criteria andSaidLessThan(String value) {
            addCriterion("saId <", value, "said");
            return (Criteria) this;
        }

        public Criteria andSaidLessThanOrEqualTo(String value) {
            addCriterion("saId <=", value, "said");
            return (Criteria) this;
        }

        public Criteria andSaidLike(String value) {
            addCriterion("saId like", value, "said");
            return (Criteria) this;
        }

        public Criteria andSaidNotLike(String value) {
            addCriterion("saId not like", value, "said");
            return (Criteria) this;
        }

        public Criteria andSaidIn(List<String> values) {
            addCriterion("saId in", values, "said");
            return (Criteria) this;
        }

        public Criteria andSaidNotIn(List<String> values) {
            addCriterion("saId not in", values, "said");
            return (Criteria) this;
        }

        public Criteria andSaidBetween(String value1, String value2) {
            addCriterion("saId between", value1, value2, "said");
            return (Criteria) this;
        }

        public Criteria andSaidNotBetween(String value1, String value2) {
            addCriterion("saId not between", value1, value2, "said");
            return (Criteria) this;
        }

        public Criteria andSapwdIsNull() {
            addCriterion("saPwd is null");
            return (Criteria) this;
        }

        public Criteria andSapwdIsNotNull() {
            addCriterion("saPwd is not null");
            return (Criteria) this;
        }

        public Criteria andSapwdEqualTo(String value) {
            addCriterion("saPwd =", value, "sapwd");
            return (Criteria) this;
        }

        public Criteria andSapwdNotEqualTo(String value) {
            addCriterion("saPwd <>", value, "sapwd");
            return (Criteria) this;
        }

        public Criteria andSapwdGreaterThan(String value) {
            addCriterion("saPwd >", value, "sapwd");
            return (Criteria) this;
        }

        public Criteria andSapwdGreaterThanOrEqualTo(String value) {
            addCriterion("saPwd >=", value, "sapwd");
            return (Criteria) this;
        }

        public Criteria andSapwdLessThan(String value) {
            addCriterion("saPwd <", value, "sapwd");
            return (Criteria) this;
        }

        public Criteria andSapwdLessThanOrEqualTo(String value) {
            addCriterion("saPwd <=", value, "sapwd");
            return (Criteria) this;
        }

        public Criteria andSapwdLike(String value) {
            addCriterion("saPwd like", value, "sapwd");
            return (Criteria) this;
        }

        public Criteria andSapwdNotLike(String value) {
            addCriterion("saPwd not like", value, "sapwd");
            return (Criteria) this;
        }

        public Criteria andSapwdIn(List<String> values) {
            addCriterion("saPwd in", values, "sapwd");
            return (Criteria) this;
        }

        public Criteria andSapwdNotIn(List<String> values) {
            addCriterion("saPwd not in", values, "sapwd");
            return (Criteria) this;
        }

        public Criteria andSapwdBetween(String value1, String value2) {
            addCriterion("saPwd between", value1, value2, "sapwd");
            return (Criteria) this;
        }

        public Criteria andSapwdNotBetween(String value1, String value2) {
            addCriterion("saPwd not between", value1, value2, "sapwd");
            return (Criteria) this;
        }

        public Criteria andSadescribeIsNull() {
            addCriterion("saDescribe is null");
            return (Criteria) this;
        }

        public Criteria andSadescribeIsNotNull() {
            addCriterion("saDescribe is not null");
            return (Criteria) this;
        }

        public Criteria andSadescribeEqualTo(String value) {
            addCriterion("saDescribe =", value, "sadescribe");
            return (Criteria) this;
        }

        public Criteria andSadescribeNotEqualTo(String value) {
            addCriterion("saDescribe <>", value, "sadescribe");
            return (Criteria) this;
        }

        public Criteria andSadescribeGreaterThan(String value) {
            addCriterion("saDescribe >", value, "sadescribe");
            return (Criteria) this;
        }

        public Criteria andSadescribeGreaterThanOrEqualTo(String value) {
            addCriterion("saDescribe >=", value, "sadescribe");
            return (Criteria) this;
        }

        public Criteria andSadescribeLessThan(String value) {
            addCriterion("saDescribe <", value, "sadescribe");
            return (Criteria) this;
        }

        public Criteria andSadescribeLessThanOrEqualTo(String value) {
            addCriterion("saDescribe <=", value, "sadescribe");
            return (Criteria) this;
        }

        public Criteria andSadescribeLike(String value) {
            addCriterion("saDescribe like", value, "sadescribe");
            return (Criteria) this;
        }

        public Criteria andSadescribeNotLike(String value) {
            addCriterion("saDescribe not like", value, "sadescribe");
            return (Criteria) this;
        }

        public Criteria andSadescribeIn(List<String> values) {
            addCriterion("saDescribe in", values, "sadescribe");
            return (Criteria) this;
        }

        public Criteria andSadescribeNotIn(List<String> values) {
            addCriterion("saDescribe not in", values, "sadescribe");
            return (Criteria) this;
        }

        public Criteria andSadescribeBetween(String value1, String value2) {
            addCriterion("saDescribe between", value1, value2, "sadescribe");
            return (Criteria) this;
        }

        public Criteria andSadescribeNotBetween(String value1, String value2) {
            addCriterion("saDescribe not between", value1, value2, "sadescribe");
            return (Criteria) this;
        }

        public Criteria andSastateIsNull() {
            addCriterion("saState is null");
            return (Criteria) this;
        }

        public Criteria andSastateIsNotNull() {
            addCriterion("saState is not null");
            return (Criteria) this;
        }

        public Criteria andSastateEqualTo(Integer value) {
            addCriterion("saState =", value, "sastate");
            return (Criteria) this;
        }

        public Criteria andSastateNotEqualTo(Integer value) {
            addCriterion("saState <>", value, "sastate");
            return (Criteria) this;
        }

        public Criteria andSastateGreaterThan(Integer value) {
            addCriterion("saState >", value, "sastate");
            return (Criteria) this;
        }

        public Criteria andSastateGreaterThanOrEqualTo(Integer value) {
            addCriterion("saState >=", value, "sastate");
            return (Criteria) this;
        }

        public Criteria andSastateLessThan(Integer value) {
            addCriterion("saState <", value, "sastate");
            return (Criteria) this;
        }

        public Criteria andSastateLessThanOrEqualTo(Integer value) {
            addCriterion("saState <=", value, "sastate");
            return (Criteria) this;
        }

        public Criteria andSastateIn(List<Integer> values) {
            addCriterion("saState in", values, "sastate");
            return (Criteria) this;
        }

        public Criteria andSastateNotIn(List<Integer> values) {
            addCriterion("saState not in", values, "sastate");
            return (Criteria) this;
        }

        public Criteria andSastateBetween(Integer value1, Integer value2) {
            addCriterion("saState between", value1, value2, "sastate");
            return (Criteria) this;
        }

        public Criteria andSastateNotBetween(Integer value1, Integer value2) {
            addCriterion("saState not between", value1, value2, "sastate");
            return (Criteria) this;
        }

        public Criteria andSaemailIsNull() {
            addCriterion("saEmail is null");
            return (Criteria) this;
        }

        public Criteria andSaemailIsNotNull() {
            addCriterion("saEmail is not null");
            return (Criteria) this;
        }

        public Criteria andSaemailEqualTo(String value) {
            addCriterion("saEmail =", value, "saemail");
            return (Criteria) this;
        }

        public Criteria andSaemailNotEqualTo(String value) {
            addCriterion("saEmail <>", value, "saemail");
            return (Criteria) this;
        }

        public Criteria andSaemailGreaterThan(String value) {
            addCriterion("saEmail >", value, "saemail");
            return (Criteria) this;
        }

        public Criteria andSaemailGreaterThanOrEqualTo(String value) {
            addCriterion("saEmail >=", value, "saemail");
            return (Criteria) this;
        }

        public Criteria andSaemailLessThan(String value) {
            addCriterion("saEmail <", value, "saemail");
            return (Criteria) this;
        }

        public Criteria andSaemailLessThanOrEqualTo(String value) {
            addCriterion("saEmail <=", value, "saemail");
            return (Criteria) this;
        }

        public Criteria andSaemailLike(String value) {
            addCriterion("saEmail like", value, "saemail");
            return (Criteria) this;
        }

        public Criteria andSaemailNotLike(String value) {
            addCriterion("saEmail not like", value, "saemail");
            return (Criteria) this;
        }

        public Criteria andSaemailIn(List<String> values) {
            addCriterion("saEmail in", values, "saemail");
            return (Criteria) this;
        }

        public Criteria andSaemailNotIn(List<String> values) {
            addCriterion("saEmail not in", values, "saemail");
            return (Criteria) this;
        }

        public Criteria andSaemailBetween(String value1, String value2) {
            addCriterion("saEmail between", value1, value2, "saemail");
            return (Criteria) this;
        }

        public Criteria andSaemailNotBetween(String value1, String value2) {
            addCriterion("saEmail not between", value1, value2, "saemail");
            return (Criteria) this;
        }
    }

    /**
     */
    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}